/** @format */

import { resultsModel } from '../../../sdk'
import { CODE_TYPES } from '../../../errorCode'

/**
 * 检查活动时间
 * 通常用于需在活动时间内才可请求的接口
 *
 * @export
 * @param {IContext<IParams>} context
 * @param {IControllerInfos} { activityInfo }
 * @return {*}  {(Promise<IPreCheckResult}
 */
export default async function checkActivityTime(
  context: IContext<IParams>,
  { }: IControllerInfos
): Promise<IPreCheckResult> {
  const { startTime, endTime } = context.data
  const currentTime = Date.now()
  if (currentTime < startTime) {
    return resultsModel.error(CODE_TYPES.ERROR_ACTIVITY_NOSTART, `活动未开始`)
  }
  if (endTime && currentTime > endTime) {
    return resultsModel.error(CODE_TYPES.ERROR_ACTIVITY_OVER, `活动已结束`)
  }
}
